<?php

namespace app\mqnote\model;

use think\Model;
use think\Validate;

class NoteModel extends Model
{
    protected $pk = 'note_id';
    protected $table = 'mqnote_note';

    /**
     * 添加笔记
     * @param $data POST数据
     */
    public function AddNote($data)
    {
        // 执行验证
        $validate = new Validate([
            'note_content' => 'require',
            'cate_id' => 'require',
        ], [
            'note_content.require' => '没有内容',
            'cate_id.require' => '没有指定目录',
        ]);

        if (!$validate->check($data)) {
            return ["code" => 0, "msg" => $validate->getError()];
        }

        // 自动生成标题
        $data['note_title'] = isset($data['note_title']) ? $data['note_title'] : mb_substr($data['note_content'], 0, 10, 'utf-8');

        // 存入数据库
        if (!$this->data(['note_title' => $data['note_title'], 'note_content' => $data['note_content'], 'cate_id' => $data['cate_id']])->save()) {
            return ["code" => 0, "msg" => "添加笔记失败,数据库写入错误"];
        }
        return ["code" => 1, "msg" => "添加笔记成功"];
    }

    /**
     * 删除笔记
     * @param $note_id 删除笔记的id
     */
    public function DelNote($note_id)
    {
        $this->Destory($note_id);
    }

    /**
     * 通过指定目录ID获取笔记
     * @param int $cate_id 目录id
     */
    public function GetByCateID($cate_id)
    {
        return $this->where('cate_id',$cate_id)->select();
    }

}
